home *** CD-ROM | disk | FTP | other *** search
/ Gold Medal Software 1 / Gold Medal Software Volume 1 (Gold Medal) (1994).iso / prog / tpwprog6.arj / MULTIMEN.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1992-07-02  |  1.4 KB  |  67 lines

  1. { multimen.pas -- Demonstrates multiple nested menus }
  2.  
  3. program Multi;
  4.  
  5. {$R multimenu.res}
  6.  
  7. uses WinTypes, WinProcs, WObjects;
  8.  
  9. const
  10.  
  11.   id_Menu = 100;    { Menu resource ID }
  12.   cm_File = 101;    { File command ID }
  13.  
  14. type
  15.  
  16.   MultiApplication = object(TApplication)
  17.     procedure InitMainWindow; virtual;
  18.   end;
  19.  
  20.   PMultiWindow = ^MultiWindow;
  21.   MultiWindow = object(TWindow)
  22.     constructor Init(AParent: PWindowsObject; ATitle: PChar);
  23.     procedure CMFile(var Msg: TMessage);
  24.       virtual cm_First + cm_File;
  25.   end;
  26.  
  27.  
  28. { MultiApplication }
  29.  
  30. {- Initialize MultiApplication object's window }
  31. procedure MultiApplication.InitMainWindow;
  32. begin
  33.   MainWindow := New(PMultiWindow, Init(nil, 'Multiple Nested Menus'))
  34. end;
  35.  
  36.  
  37. { MultiWindow }
  38.  
  39. {- Construct MultiWindow object }
  40. constructor MultiWindow.Init(AParent: PWindowsObject; ATitle: PChar);
  41. begin
  42.   TWindow.Init(AParent, ATitle);
  43.   Attr.Menu := LoadMenu(HInstance, PChar(id_Menu))
  44. end;
  45.  
  46. procedure MultiWindow.CMFile(var Msg: TMessage);
  47. begin
  48.   MessageBox(HWindow, 'Command executed', 'File',
  49.     mb_IconExclamation or mb_Ok);
  50. end;
  51.  
  52. var
  53.  
  54.   MultiApp: MultiApplication;
  55.  
  56. begin
  57.   MultiApp.Init('MultiApp');
  58.   MultiApp.Run;
  59.   MultiApp.Done
  60. end.
  61.  
  62.  
  63. {--------------------------------------------------------------
  64.   Copyright (c) 1991 by Tom Swan. All rights reserved.
  65.   Revision 1.00    Date: 4/13/1991
  66. ---------------------------------------------------------------}
  67.